		/// <summary>
		/// Test method.
		/// </summary>
		[TestMethod()]
		[TestProperty("TestCasePurpose", "Test Method.")]
		[TestCategory("InternetExplorer")]
		[TestCategory("RSS")]
		[TestCategory("RSS ALL")]
		public void RSS_TestDialog()
		{
			TestRunSettings testRunSettings = new TestRunSettings(BrowserType.InternetExplorer, CommonData.LoggingDirectory + "RSSTest", this.applicationName, this.TestContextInstance.TestName, "password", "password");
			TestResults testMethod = this.Action.TestCaseBegin(testRunSettings.TestName, testRunSettings.TestName, this.TestContextInstance.Properties["TestCasePurpose"].ToString());
			this.manager = this.Action.TestInitialize(testRunSettings);

			Console.WriteLine(String.Format("Navigate to http://api8406/jmwsample/"));
			Manager.Current.ActiveBrowser.NavigateTo("http://api8406/jmwsample/");
			Manager.Current.ActiveBrowser.WaitUntilReady();
			Manager.Current.ActiveBrowser.Window.Maximize();

			Manager.Current.ActiveBrowser.WaitForElement(new HtmlFindExpression(String.Format("name={0}", "ConfirmBtn")), 30000, false);

			ConfirmDialog confirmDialog = ConfirmDialog.CreateConfirmDialog(Manager.Current.ActiveBrowser, DialogButton.OK);
			confirmDialog.HandlerDelegate = new DialogHandlerDelegate(this.ConfirmHandleDialog);

			Manager.Current.DialogMonitor.AddDialog(confirmDialog);
			Manager.Current.DialogMonitor.Start();

			HtmlInputButton button = Manager.Current.ActiveBrowser.Find.ByAttributes<HtmlInputButton>("name=ConfirmBtn");
			button.Click();
			confirmDialog.WaitUntilHandled();

			Manager.Current.DialogMonitor.RemoveDialog(confirmDialog);
			Manager.Current.DialogMonitor.Stop();

			Manager.Current.ActiveBrowser.RefreshDomTree();
			Thread.Sleep(1000);
			Manager.Current.ActiveBrowser.WaitUntilReady();

			if (!Manager.Current.ActiveBrowser.Url.Contains("google"))
			{
				Assert.IsTrue(false, String.Format("Test Failed, url is pointing to {0}", Manager.Current.ActiveBrowser.Url));
			}
			
			this.Action.TestCaseEnd(testMethod);

			Manager.Current.ActiveBrowser.Close();
			this.manager.Dispose();
		}


		private void ConfirmHandleDialog(IDialog dialog)
		{
			try
			{
				Console.WriteLine(String.Format("Trying to Handle Confirm Dialog."));
				ArtOfTest.WebAii.Win32.Button okayButton = new ArtOfTest.WebAii.Win32.Button(dialog.Window, "OK", false);
				okayButton.Click();
				dialog.HandleCount = 1;
				Manager.Current.DialogMonitor.RemoveDialog(dialog);
				Console.WriteLine(String.Format("Confirm Handle Dialog: Okay button clicked."));
			}
			catch (Exception ex)
			{
				Console.WriteLine(String.Format("Error in Confirm Handle Dialog: {0}", ex.Message));
				Assert.IsTrue(false, ex.Message);
			}
		}



The above code works when I run this test on Windows 7 with IE8

The above test failes when I run this on XP or Vista with IE7 with the following error:

Test method AgencyTestAutomation.RSSTest.RSS_TestDialog threw exception: System.TimeoutException: Timed out waiting '30000' msec. for dialog to be handled '1'
***********************************************
*** Test Case Id: RSS_TestDialog
*** Test Name: RSS_TestDialog
*** Test Case Purpose: Test Method.
*** Test Agent: VMAUTO-TA-B01
***********************************************
Navigate to http://api8406/jmwsample/

    at ArtOfTest.WebAii.Win32.Dialogs.BaseDialog.WaitUntilHandled(Int32 handleCount, Int32 timeout, Boolean resetHandleCount)
   at ArtOfTest.WebAii.Win32.Dialogs.BaseDialog.WaitUntilHandled()
   at AgencyTestAutomation.RSSTest.RSS_TestDialog()

